#include "IDirect3D10Support.h"

class DXUTDirect3D10Support : public IDirect3D10Support
{
public:
	static DXUTDirect3D10Support *GetInstance();
	virtual ~DXUTDirect3D10Support() { }

	virtual bool IsDeviceAcceptable(UINT Adapter, UINT Output, D3D10_DRIVER_TYPE DeviceType, DXGI_FORMAT BackBufferFormat, bool bWindowed);
	virtual HRESULT OnCreateDevice(ID3D10Device *device, DXGI_SURFACE_DESC const *backBufferSurfaceDesc);
	virtual HRESULT OnResizedSwapChain(ID3D10Device* pd3dDevice, IDXGISwapChain* pSwapChain, DXGI_SURFACE_DESC const *backBufferSurfaceDesc);
	virtual void OnFrameRender(ID3D10Device* pd3dDevice, double fTime, float fElapsedTime);
	virtual void OnReleasingSwapChain();
	virtual void OnDestroyDevice();

private:
	DXUTDirect3D10Support();
};